hvmloader: get guest memory map into memory_map[]
authorTiejun Chen <tiejun.chen@intel.com>
Wed, 22 Jul 2015 01:40:19 +0000 (01:40 +0000)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Thu, 23 Jul 2015 12:45:25 +0000 (13:45 +0100)
commit07d73925eaa066c3ae2fb161246863e99e79d9f7
tree5a09246d7fc3edede848745fc0494ded014bad5c
parent46648eb95f1a70940bb22c40d43703b7cff99a88
hvmloader: get guest memory map into memory_map[]

Now we get this map layout by call XENMEM_memory_map then
save them into one global variable memory_map[]. It should
include lowmem range, rdm range and highmem range. Note
rdm range and highmem range may not exist in some cases.

And here we need to check if any reserved memory conflicts with
[RESERVED_MEMORY_DYNAMIC_START, RESERVED_MEMORY_DYNAMIC_END).
This range is used to allocate memory in hvmloder level, and
we would lead hvmloader failed in case of conflict since its
another rare possibility in real world.

CC: Keir Fraser <keir@xen.org>
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CC: Ian Campbell <ian.campbell@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Tiejun Chen <tiejun.chen@intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
tools/firmware/hvmloader/e820.c
tools/firmware/hvmloader/e820.h
tools/firmware/hvmloader/hvmloader.c
tools/firmware/hvmloader/util.c
tools/firmware/hvmloader/util.h